Exemplary embodiments relate generally to a semiconductor memory device and a programming method thereof, and more particularly to a contents addressable memory (hereinafter referred to as CAM) and a programming method thereof.
Semiconductor memory devices such as a non-volatile memory device may use a CAM cell in order to store column repair information and CAM data (e.g., internal logic configuration information).
To improve the reliability of data stored in the CAM cell, the same CAM datum is stored multiple times by repeatedly inputting the CAM datum. That is, if 1 byte is necessary for CAM data, N bytes are actually programmed into the CAM cells and, in a read operation, N bytes are restored into 1 byte by using a multi-bit determination unit.
For example, assuming that 1 byte is stored as CAM data, 8 bytes are actually programmed into CAM cells and, in a read operation, the CAM data are read through the majority check method. That is, in the operation of programming the CAM data, the same data are inputted 8 times from the outside. For this reason, the time taken to input data increases, so that the time taken for a test operation for the mass production of devices increases. Furthermore, the memory capacity of test equipment for testing the semiconductor memory devices is gradually increased because the same CAM data are inputted multiple times to a semiconductor memory device and different CAM data are inputted to different chips.